1
從結構到抽象資料類型
AI037Lesson 11
00:00

從一個 struct 到一個 抽象資料類型(ADT) 標誌著從「玻璃盒」轉變為「黑箱」的過程,其中「玻璃盒」將所有內部線路暴露無遺,而「黑箱」則將 介面實作分離。這種轉變確保了 封裝:使用者透過函數如 readcombine 進行互動,而無需了解收入是如何計算或儲存的。

1. 類別架構

每個類別都定義了一個 獨特的類型識別。即使兩個類別擁有相同的成員,C++ 仍會將它們視為不相容。使用 typedef前向宣告 (例如, class Screen;)讓我們在維持抽象性的同時設計複雜的關係。我們經常使用 合成版本 的建構子,例如 Sales_data() = default;,以保持內建類型的便利性($$total = trans;$$)。

ADT「黑箱」實作(私有)readprintadd公開介面

2. 非成員介面函數

read 這樣的函數是 非成員類別相關函數。它們屬於介面的一部分,但不是類別本身,通常需要 友誼 才能存取私有資料。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>